A factor in the total cost of ownership (TOC) in the lifecycle of a software application is the testing of changes to software applications (e.g., regression tests). Typically, whenever an update is made to a software application, the various processes supported by the software application are checked for consistency (e.g., checked for possible coding conflicts between processes that provide the functionality of the software application). Examples of updates may include software patches, support packages, enhancement packages (i.e., new versions of the installed software), modifications of the software, or the addition/modification/deletion of separate customer software running in the same system (e.g., software of another vendor).
A software application may generate during execution a collection of data that may affect computer objects that provide functionality or data to the various processes. For example, the generated data may cause run-time errors, system errors and the like. Risk of errors and faults may arise whenever a software application is modified. In order to ensure the correctness of the running processes, it may be necessary to perform and repeat tests on the processes of the software application. Each repeated test (e.g., after each modification) may need to be performed on the entire system, which may be an extremely time and resource consuming operation. Alternatively, risk-based subsets of the processes may be defined, and the tests may be directed to only some of the subsets (e.g., “core functions”) of the processes. However, these risk-based subsets typically only relate to the processes known to be critical, with no regard for what computer objects were or were not affected by the modification. For example, many computer objects may be negatively affected (i.e., may cause run-time errors and failures), but belong to processes deemed less critical, and therefore may not be tested. Further, many computer objects may be wholly unaffected by a change, yet belong to a “core function,” and thus may be needlessly tested. A critical process can be a process which would cause a severe impact on the customer's core business if it is not running as expected.
There already exist analysis tools capable of determining what computer objects are affected by which processes. Known analysis tools, such as the Business Process Change Analyzer™, which is part of the SAP® Solution Manager™ application, may compile a list of associations between the various computer objects and various processes, for example, as described in the above referenced, commonly-assigned, co-pending application. The above referenced related application may include embodiments that provide calculations of regression test scope that optimizes the test effort by reviewing criticality attributes of the computer objects and processes affected by the update packages.
The inventors have recognized the need for tool that provides automated testing in response to the identification of different criticality attributes of the affected computer objects and processes.